#ifndef _MAINWINDOW_H_
# define _MAINWINDOW_H_

# include <map>
# include "Utils\AWindow.h"
# include "Utils\ScreenManager.h"
# include "MyScreenArgs.h"

class MainWindow : public SDL::UTILS::AWindow
{
private:
	struct CurrentScreen
	{
	public:
		SDL::UTILS::IScreen* Screen;
		MyScreenArgs* Args;
		void (MainWindow::*Finished)();
	} m_currentScreen;

	SDL_Event m_event;
	bool m_quit;
	SDL::UTILS::ScreenManager m_screens;

public:
	MainWindow();
	virtual ~MainWindow();

	virtual int Exec();

private:
	void InitStart();
	void StartFinished();

	void InitSelectMode();
	void SelectModeFinished();
};

#endif // _MAINWINDOW_H_
